package com.gxuwz.volunteer.controller;

import com.gxuwz.volunteer.entity.User;
import com.gxuwz.volunteer.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    // 获取用户信息
    @GetMapping("/{userId}/profile")
    public User getUserProfile(@PathVariable Integer userId) {
        return userService.getUserProfile(userId);
    }

    // 更新用户信息
    @PutMapping("/{userId}/update")  // 修改了路径为 "/update"
    public void updateUserProfile(@PathVariable Integer userId, @RequestBody User user) {
        userService.updateUserProfile(userId, user);
    }

    // 获取用户统计数据
    @GetMapping("/{userId}/stats")
    public String getUserStats(@PathVariable Integer userId) {
        return userService.getUserStats(userId);
    }

    // 获取用户活动记录
    @GetMapping("/{userId}/activities")
    public List<String> getUserActivities(@PathVariable Integer userId, @RequestParam(required = false) String params) {
        return userService.getUserActivities(userId, params);
    }

    // 获取用户列表（管理员使用）
    @GetMapping("/list")
    public List<User> getUsers(@RequestParam(required = false,defaultValue = "volunteer") String role) {
        System.out.println("mij89");
        return userService.getUsers(role);
    }

    // 创建用户（管理员使用）
    @PostMapping("/add")
    public void createUser(@RequestBody User user) {
        userService.createUser(user);
    }

    // 删除用户（管理员使用）
    @DeleteMapping("/delete/{userId}")
    public void deleteUser(@PathVariable Integer userId) {
        userService.deleteUser(userId);
    }
}
